package com.kfh.ybracelet.sim;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

import com.alibaba.fastjson.JSONObject;
import com.kfh.ybracelet.R;
import com.kfh.ybracelet.base.BaseActivity;
import com.kfh.ybracelet.net.HttpUtil;
import com.kfh.ybracelet.utils.Constant;

import org.json.JSONException;

/**
 * 实名认证页面
 * Created by Aaron on 16/8/5.
 */
public class IdentityActivity extends BaseActivity {

    private android.widget.EditText etphone;
//    private android.widget.ImageView ivadd;

//    /*拍照的文件保存的位置*/
//    private File currentFile;
//
//    /*相册选择的code*/
//    private static final int PHOTO_ALBUM_CODE = 0x10001;
//    /*拍照的code*/
//    private static final int TAKE_PHOTO_CODE = 0x10002;
//
//    //需要上传的图片的地址
//    private String picUrl;
//    private ProgressDialog show;
//    private ImageView iv_example;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_identity);

        initWidget();

    }

    private void initWidget() {

//        this.ivadd = (ImageView) findViewById(R.id.iv_add);
        ImageView iv_left = (ImageView) findViewById(R.id.iv_left);
        this.etphone = (EditText) findViewById(R.id.et_phone);
        TextView tv_title = (TextView) findViewById(R.id.tv_title);
        Button btn_sub = (Button) findViewById(R.id.btn_sub);
//        iv_example = (ImageView) findViewById(R.id.iv_example);

        tv_title.setText(getResources().getString(R.string.identity));
//
//        TextView tv_info = (TextView) findViewById(R.id.tv_info);
//
//        SpannableString span = new SpannableString("请上传身份证正面和手表背面的手机号的合照 示例图片");
//
//
////        span.setSpan(new BackgroundColorSpan(Color.GREEN), 23, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//
//        span.setSpan(new ClickableSpan() {
//            @Override
//            public void onClick(View widget) {
//                Log.e("tag", "点击示例图片");
//
//                iv_example.setVisibility(View.VISIBLE);
//            }
//        }, 21, 25, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//        tv_info.setText(span);
//        tv_info.setMovementMethod(LinkMovementMethod.getInstance());

        iv_left.setOnClickListener(this);
//        ivadd.setOnClickListener(this);
        btn_sub.setOnClickListener(this);
//        iv_example.setOnClickListener(this);
    }

    @Override
    public void widgetClick(View v) {

        switch (v.getId()) {

            case R.id.iv_left: //返回
                finish();
                break;

//            case R.id.iv_add://选择照片
//
//                showChoose();
//
//                break;

            case R.id.btn_sub://下一步  (检测手机号码是否已经实名注册)

                if (TextUtils.isEmpty(etphone.getText().toString().trim()) || etphone.getText().toString().trim().length() != 11) {
                    showToast("请输入正确的手机号码");
                    return;
                }

                //检测手机号码实名注册状态
                checkPhoneNum();

//                if (TextUtils.isEmpty(etphone.getText().toString().trim())) {
//                    showToast("请填写手机号码");
//                    return;
//                }
//
//                if (etphone.getText().toString().trim().length() != 11) {
//                    showToast("请填写正确的手机号码");
//                    return;
//                }
//
//                if (TextUtils.isEmpty(picUrl)) {
//                    showToast("请先上传身份证与手表的合照");
//                    return;
//                }
//
//                identityInfo();

                break;

//            case R.id.iv_example:
//
//                iv_example.setVisibility(View.GONE);
//
//                break;

        }

    }


    private void checkPhoneNum() {

        JSONObject param = new JSONObject();
        param.put("token", sp.getString(Constant.TOKEN, ""));
        param.put("phoneNum", etphone.getText().toString().trim());

        HttpUtil.setPostRequest("", this, Constant.WEB_ROOT_PAY + Constant.CHECKPHONENUM,
                param.toJSONString(), getClass().getName(), new HttpUtil.SuccessListener() {
                    @Override
                    public void setOnSuccessListener(String str) {

                        try {
                            org.json.JSONObject result = new org.json.JSONObject(str);

//                            if (result.getInt("code") == Constant.STATUS_SUCCESS) {

                                switch (result.getInt("check")) {
                                    case Status.AUTH_NO_INFO://未提交过

                                        next();

                                        break;
                                    case Status.AUTHING://审核中

                                        new AlertDialog.Builder(IdentityActivity.this)
//                                                .setTitle("提示")
                                                .setMessage("您的信息正在审核中,要更改提交吗?")
                                                .setPositiveButton("更改", new DialogInterface.OnClickListener() {
                                                    @Override
                                                    public void onClick(DialogInterface dialog, int which) {
                                                        dialog.dismiss();
                                                        next();
                                                    }
                                                }).setNegativeButton("取消", null).show();

                                        break;
                                    case Status.AUTH_PASS://认证通过
                                        showToast("该号码已经认证通过");
                                        break;
                                    case Status.AUTH_REFUSE://认证驳回
                                        next();
                                        break;

                                }

//                            } else {
//                                showToast(Constant.showErrorMsg(result.getInt("code"), getApplication()));
//                            }

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }

                    }
                }, null);
    }

    private void next() {

        Intent mIntent = new Intent(IdentityActivity.this, IDConfirmActivity.class);
        mIntent.putExtra("phoneNum", etphone.getText().toString().trim());
        startActivity(mIntent);

    }


//    /**
//     * 弹出选择照片的对话框
//     */
//    @Deprecated
//    protected void showChoose() {
//
//        new ActionSheetDialog(this)
//                .builder()
//                .setCancelable(true)
//                .setCanceledOnTouchOutside(true)
//                .addSheetItem("拍照", ActionSheetDialog.SheetItemColor.Blue,
//                        new ActionSheetDialog.OnSheetItemClickListener() {
//                            @Override
//                            public void onClick(int which) {
//                                // 拍照
//                                getTakePhoto();
//
//                            }
//
//                        })
//                .addSheetItem("去相册选择", ActionSheetDialog.SheetItemColor.Blue,
//                        new ActionSheetDialog.OnSheetItemClickListener() {
//                            @Override
//                            public void onClick(int which) {
//                                // 从相册中选择
//                                getFromPhotoAlbum();
//                            }
//                        }).show();
//
//    }

//    /**
//     * 拍照
//     */
//    private void getTakePhoto() {
//
//        String cacheDir = Environment.getExternalStorageDirectory().getPath() + Constant.PHOTO_PATH;
//        File photoFile = new File(cacheDir);
//        //文件夹不存在就创建文件夹
//        if (!photoFile.exists()) {
//            photoFile.mkdirs();
//        }
//        //创建存放图片的jpg文件
//        currentFile = new File(photoFile, System.currentTimeMillis() + ".jpg");
//
//        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//        intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(currentFile));
//        startActivityForResult(intent, TAKE_PHOTO_CODE);
//
//    }

//    /**
//     * 从相册中选择
//     */
//    private void getFromPhotoAlbum() {
//
//        Intent mIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
//        startActivityForResult(mIntent, PHOTO_ALBUM_CODE);
//
//    }

//    @Override
//    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
//
//        switch (requestCode) {
//
//            case PHOTO_ALBUM_CODE:       //选择照片
//
//                if (data == null)
//                    return;
//
//                Uri selectedImage = data.getData();
//                String[] filePathColumn = {MediaStore.Images.Media.DATA};
//
//                Cursor cursor = getContentResolver().query(selectedImage,
//                        filePathColumn, null, null, null);
//                cursor.moveToFirst();
//
//                int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
//                String picturePath = cursor.getString(columnIndex);
//                cursor.close();
//
//                File file = new File(picturePath);
//
//                //裁剪图片
//                getQiNiuAddress(file);
//
//                break;
//
//            case TAKE_PHOTO_CODE:       //拍照
//
//                //上传图片
//                if (currentFile != null && currentFile.exists()) {
//                    //裁剪图片
//                    getQiNiuAddress(currentFile);
//                }
//
//                break;
//
//        }
//
//    }

//    private void getQiNiuAddress(File file) {
//
//        if (file == null)
//            return;
//
//        if (!file.exists())
//            file.mkdirs();
//
//        try {
//
//            final byte[] aByte = CommonUtils.getByte(file);
//            if (aByte == null)
//                return;
//
//            show = ProgressDialog.show(this, "正在上传图片", "");
//
//            QiniuUtils.getQiniuPic(aByte, getApplication(), sp.getString(Constant.TOKEN, ""),
//                    new QiniuUtils.QiniuSuccessListener() {
//                        @Override
//                        public void setOnSuccessListener(String str) {
//
//                            if (show != null && show.isShowing())
//                                show.dismiss();
//
//                            if (TextUtils.isEmpty(str) || Constant.IMAGE_URL_FAIL.equals(str)) {
//                                showToast("图片上传失败");
//                                return;
//                            }
//
//                            picUrl = str;
//
//                            ivadd.setImageBitmap(BitmapFactory.decodeByteArray(aByte, 0, aByte.length));
//
////                            RelativeLayout.LayoutParams rl = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
////                            ivadd.setLayoutParams(rl);
//
//                        }
//                    });
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//
//    }

//    /**
//     * 上传验证信息
//     */
//    private void identityInfo() {
//
//        JSONObject j = new JSONObject();
//        j.put("phoneNum", etphone.getText().toString().trim());
//        j.put("cardImg", picUrl);
//        j.put("token", sp.getString(Constant.TOKEN, ""));
//
//        HttpUtil.setPostRequest("正在上传验证信息", this, Constant.WEB_ROOT + Constant.IDENTITY, j.toJSONString(), getClass().getName(),
//                new HttpUtil.SuccessListener() {
//                    @Override
//                    public void setOnSuccessListener(String str) {
//
//                        try {
//
//                            org.json.JSONObject result = new org.json.JSONObject(str);
//
//                            if (result.getInt("code") == Constant.STATUS_SUCCESS) {
//
//                                showToast("提交成功");
//                                finish();
//
//                            } else {
//                                showToast(Constant.showErrorMsg(result.getInt("code"), getApplication()));
//                            }
//
//                        } catch (Exception e) {
//                            e.printStackTrace();
//                        }
//
//                    }
//                }, new HttpUtil.FailListener() {
//                    @Override
//                    public void setOnFailListener() {
//
//                    }
//                });
//
//    }

    @Override
    protected void onDestroy() {
        super.onDestroy();

        mApplication.cancelPendingRequests(getClass().getName());
    }
}
